package com.study.io.bio.demo.input;

import java.io.FileInputStream;
import java.io.PushbackInputStream;

/**
 * 回退输入流
 *
 * @author wuxj
 */
public class PushbackInputStreamDemo {
    public static void main(String[] args) throws Exception {
        //在JAVA IO中所有的数据都是采用顺序的读取方式，即对于一个输入流来讲都是采用从头到尾的顺序读取的，
        // 如果在输入流中某个不需要的内容被读取进来，则只能通过程序将这些不需要的内容处理掉，为了解决这样的处理问题
        PushbackInputStream pis = new PushbackInputStream(new FileInputStream("d://999.txt"));
        int n;
        while ((n = pis.read()) != -1) {
            if ('1' == n) {
                // 放回到缓冲区之中
                pis.unread(new byte[]{'a'});
            } else {
                System.out.println((char) n);
            }
        }
    }
}
